package com.stack.knowyouservice.service;

import org.springframework.security.core.Authentication;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 实验报告相关服务
 *
 * @author stack
 */
public interface LabReportService {

    /**
     * 实验报告上传服务
     *
     * @param file           文件
     * @param sid            课程号
     * @param authentication 角色信息
     * @return 上传成功后的路径
     */
    boolean reportUpload(MultipartFile file, Integer sid, Authentication authentication);


    /**
     * 实验报告列表服务
     *
     * @param sid            课程号
     * @param page           页码
     * @param limit          条数
     * @param authentication 角色信息
     * @param filePath       文件夹名称
     * @return 查询集合
     */
    Map<String, Object> reportInfo(Integer sid, String filePath, Integer page, Integer limit, Authentication authentication);

    /**
     * 实验报告删除
     *
     * @param fileName       课件名称
     * @param sid            课程号
     * @param fileType       文件类型
     * @param authentication 权限信息
     * @return 删除成功的标记
     */
    boolean reportDelete(String fileName, Authentication authentication, String fileType, Integer sid);
}
